#!/bin/bash

# 应用名称
APP_NAME="cis-proxy"

# Java应用程序的JAR文件路径
JAR_PATH="/home/cis-proxy/cis-proxy-1.0.jar"

# JVM参数
JAVA_OPTS="-Xms1024m -Xmx1024m -server"

# 日志文件路径
LOG_FILE="/home/cis-proxy/log/${APP_NAME}.log"

# PID文件路径
PID_FILE="/var/run/${APP_NAME}.pid"

# 检查是否已经启动
if [ -f "$PID_FILE" ]; then
    PID=$(cat $PID_FILE)
    if ps -p $PID > /dev/null; then
        echo "${APP_NAME} is already running (PID: $PID)"
        exit 1
    else
        # PID文件存在但进程不存在，删除PID文件
        rm -f $PID_FILE
    fi
fi

# 创建日志目录（如果不存在）
mkdir -p "$(dirname $LOG_FILE)"

# 启动应用
echo "Starting ${APP_NAME}..."
#nohup java $JAVA_OPTS -jar $JAR_PATH > $LOG_FILE 2>&1 &
# 启动应用并指定自定义配置文件
nohup java $JAVA_OPTS -jar $JAR_PATH --spring.config.location=file:/home/cis-proxy/application.yml > $LOG_FILE 2>&1 &

# 保存PID
echo $! > $PID_FILE

# 等待几秒检查是否启动成功
sleep 5
if ps -p $(cat $PID_FILE) > /dev/null; then
    echo "${APP_NAME} started successfully (PID: $(cat $PID_FILE))"
else
    echo "Failed to start ${APP_NAME}"
    rm -f $PID_FILE
    exit 1
fi
